package com.xtx.air.bo.trade;

import java.util.List;

import com.xtx.air.common.enums.TradeStatus;
import com.xtx.air.dataobject.TradeDO;

/**
 * 交易业务接口定义
 * 
 * @author lenic
 * @date 2012-03-03
 */
public interface ITradeBO {

	/**
	 * 保存交易信息(包含明细信息，减少相应库存)
	 * 
	 * @param tradeDO
	 * @return
	 */
	boolean addTrade(TradeDO tradeDO);

	/**
	 * 获取交易详细信息(包含明细信息)
	 * 
	 * @param trade_num交易编号
	 * @return
	 */
	TradeDO getTrade(String trade_num);

	/**
	 * 查询交易列表(不包含明细信息)
	 * 
	 * @param tradeDO
	 * @return
	 */
	List<TradeDO> findTrade(TradeDO tradeDO);

	/**
	 * 查询交易列表(包含明细信息)
	 * 
	 * @param tradeDO
	 * @return
	 */
	List<TradeDO> findTradeWithDetails(TradeDO tradeDO);

	/**
	 * 更新交易状态
	 * 
	 * @param trade_num
	 * @param tradeStatus
	 * @return
	 */
	boolean updateTradeStatus(String trade_num, TradeStatus tradeStatus);
}